package com.ag.oa.core.service;

import com.ag.oa.core.entity.vo.TaskVO;
import com.ag.oa.core.entity.vo.UserVO;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

/**
 * Author:   wjc
 * Date:     2021/10/25
 * Description:
 */
public interface ITaskService {

    List<TaskVO> getTaskPageList(Integer projectId, Integer page, Integer pageSize);

    void createTask(TaskVO taskVO);

    List<TaskVO> findTaskList(TaskVO taskVO);

    void saveNewTaskForum(Integer userId, Integer taskId, String contentStr);

    void findUserTaskPageList(Integer userId, Integer fromPage, JSONObject res);

//    List<Map> getUserProjectTaskScoreList(Integer userId);

    TaskVO getTaskById(Integer taskId);

    TaskVO getTaskUserStatus(Integer taskId, Integer userId);

    void updateTaskStatus(TaskVO vo);

    void updateTaskDesc(TaskVO vo);

    void createTaskUsers(TaskVO vo);

    void updateCompleteTask(TaskVO vo);

    List<TaskVO> findTaskUserById(Integer taskId, Integer completeStatus);

    List<UserVO> getTaskUserCheckDataList(String username, Integer taskId, Integer limitCount);

    /**
     * 修改任务用户状态(混合版本：任务职责、任务完成情况)
     */
    void updateUserMixedStatus(TaskVO vo);

    List<TaskVO> getNewRunTaskTop10();

}
